Purpose: Generate weekly summaries to use in Gg framework
8.1 Site info and daily data
Code
# site informationsiteinfo <-read_csv("C:/Users/jbaldock/OneDrive - DOI/Documents/USGS/EcoDrought/EcoDrought Working/Data/EcoDrought_SiteInformation.csv")# flow/yield (and temp) data dat <-read_csv("C:/Users/jbaldock/OneDrive - DOI/Documents/USGS/EcoDrought/EcoDrought Working/Data/EcoDrought_FlowTempData_DailyWeekly.csv")# add water/climate year variables and fill missing datesdat <-add_date_variables(dat, dates = date, water_year_start =4)dat <-fill_missing_dates(dat, dates = date, groups = site_name)str(dat)
tibble [292,046 × 36] (S3: tbl_df/tbl/data.frame)
$ station_no : chr [1:292046] NA NA NA NA ...
$ site_name : chr [1:292046] "Big Creek NWIS" "Big Creek NWIS" "Big Creek NWIS" "Big Creek NWIS" ...
$ site_id : chr [1:292046] NA NA NA NA ...
$ basin : chr [1:292046] NA NA NA NA ...
$ subbasin : chr [1:292046] NA NA NA NA ...
$ region : chr [1:292046] NA NA NA NA ...
$ lat : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ long : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ elev_ft : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ area_sqmi : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ designation : chr [1:292046] NA NA NA NA ...
$ date : Date[1:292046], format: "2018-01-01" "2018-01-02" ...
$ DischargeReliability: num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ TempReliability : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ flow_mean : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ flow_min : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ flow_max : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ tempc_mean : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ tempc_min : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ tempc_max : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ flow_mean_filled : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ flow_mean_cms : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ flow_mean_filled_cms: num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ area_sqkm : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ Yield_mm : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ Yield_filled_mm : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ flow_mean_7 : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ flow_mean_filled_7 : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ tempc_mean_7 : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ Yield_mm_7 : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ Yield_filled_mm_7 : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ CalendarYear : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ Month : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ MonthName : Factor w/ 12 levels "Apr","May","Jun",..: NA NA NA NA NA NA NA NA NA NA ...
$ WaterYear : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
$ DayofYear : num [1:292046] NA NA NA NA NA NA NA NA NA NA ...
Define G-g clusters/sub-basins
Code
siteinfo2 <- siteinfo %>%filter(!site_name %in%c("WoundedBuckCreek", "Brackett Creek", "South River Conway NWIS", "Shields River nr Livingston NWIS", "North Fork Flathead River NWIS", "Pacific Creek at Moran NWIS")) %>%mutate(designation =ifelse(site_name %in%c("Donner Blitzen River nr Frenchglen NWIS", "BigCreekLower", "CoalCreekLower", "McGeeCreekLower", "West Brook NWIS", "West Brook 0", "Paine Run 10", "Staunton River 10", "Piney River 10", "Shields River Valley Ranch", "Shields River ab Smith NWIS", "EF Duck Creek be HF","Spread Creek Dam"), "big", "little"))
Recode co-located gages and designate big and little g data:
Code
dat_day_big <- dat %>%mutate(site_name = dplyr::recode(site_name, "Leidy Creek Mouth NWIS"="Leidy Creek Mouth", "SF Spread Creek Lower NWIS"="SF Spread Creek Lower", "Dugout Creek NWIS"="Dugout Creek", "Shields River ab Smith NWIS"="Shields River Valley Ranch")) %>%filter(site_name %in%c("Donner Blitzen River nr Frenchglen NWIS", "BigCreekLower", "CoalCreekLower", "McGeeCreekLower", "West Brook NWIS", "Paine Run 10", "Staunton River 10", "Spread Creek Dam", "Shields River Valley Ranch", "EF Duck Creek be HF"))dat_day_little <- dat %>%mutate(site_name = dplyr::recode(site_name, "Leidy Creek Mouth NWIS"="Leidy Creek Mouth", "SF Spread Creek Lower NWIS"="SF Spread Creek Lower", "Dugout Creek NWIS"="Dugout Creek", "Shields River ab Smith NWIS"="Shields River Valley Ranch")) %>%filter(subbasin %in% focalbasins, site_name %in%unlist(siteinfo2 %>%filter(designation =="little") %>%select(site_name)))#c("Donner Blitzen River nr Frenchglen NWIS", "BigCreekLower", "Big Creek NWIS", "CoalCreekLower", "McGeeCreekLower", "West Brook NWIS", "Avery Brook NWIS", "West Brook 0", "Paine Run 10", "Staunton River 10")
Big G sites
Code
unique(dat_day_big$site_name)
[1] "BigCreekLower"
[2] "CoalCreekLower"
[3] "McGeeCreekLower"
[4] "West Brook NWIS"
[5] "Donner Blitzen River nr Frenchglen NWIS"
[6] "Paine Run 10"
[7] "Staunton River 10"
[8] "EF Duck Creek be HF"
[9] "Shields River Valley Ranch"
[10] "Spread Creek Dam"
Little g sites
Code
unique(dat_day_little$site_name)
[1] "Big Creek NWIS" "BigCreekMiddle"
[3] "BigCreekUpper" "CoalCreekHeadwaters"
[5] "CoalCreekMiddle" "CoalCreekNorth"
[7] "CycloneCreekLower" "CycloneCreekMiddle"
[9] "CycloneCreekUpper" "Hallowat Creek NWIS"
[11] "HallowattCreekLower" "LangfordCreekLower"
[13] "LangfordCreekUpper" "McGeeCreekTrib"
[15] "McGeeCreekUpper" "NicolaCreek"
[17] "SkookoleelCreek" "WernerCreek"
[19] "Avery Brook" "Avery Brook NWIS"
[21] "Jimmy Brook" "Mitchell Brook"
[23] "Obear Brook Lower" "Sanderson Brook"
[25] "West Brook Lower" "West Brook Reservoir"
[27] "West Brook Upper" "West Whately Brook"
[29] "Donner Blitzen ab Fish NWIS" "Donner Blitzen ab Indian NWIS"
[31] "Donner Blitzen nr Burnt Car NWIS" "Fish Creek NWIS"
[33] "Indian Creek NWIS" "Little Blizten River NWIS"
[35] "Paine Run 01" "Paine Run 02"
[37] "Paine Run 06" "Paine Run 07"
[39] "Paine Run 08" "Staunton River 02"
[41] "Staunton River 03" "Staunton River 06"
[43] "Staunton River 07" "Staunton River 09"
[45] "EF Duck Creek ab HF" "Henrys Fork"
[47] "Buck Creek" "Crandall Creek"
[49] "Deep Creek" "Dugout Creek"
[51] "Lodgepole Creek" "Shields River ab Dugout"
[53] "Grizzly Creek" "Grouse Creek"
[55] "Leidy Creek Mouth" "Leidy Creek Upper"
[57] "NF Spread Creek Lower" "NF Spread Creek Upper"
[59] "Rock Creek" "SF Spread Creek Lower"
[61] "SF Spread Creek Upper"
8.3.1.2 Zero flow proportion
How common is 0 flow and which sites experience drying?
Code
paste(round((nrow(dat %>%filter(Yield_filled_mm ==0)) /nrow(dat))*100, digits =3), "% of all flow observations are 0 cfs/yield.", sep ="")
[1] "0.025% of all flow observations are 0 cfs/yield."
Days with zero flow are exceptionally rare in our dataset. Thus, drop all days of zero flow for downstream analysis b/c of issues associated with log transforming 0s.
# A tibble: 6 × 9
basin subbasin site_name_little date yield_little site_name_big
<chr> <chr> <chr> <date> <dbl> <chr>
1 Flathead Big Creek Big Creek NWIS 2019-03-30 0.666 BigCreekLower
2 Flathead Big Creek Big Creek NWIS 2019-03-31 0.717 BigCreekLower
3 Flathead Big Creek Big Creek NWIS 2019-04-01 0.749 BigCreekLower
4 Flathead Big Creek Big Creek NWIS 2019-04-02 0.739 BigCreekLower
5 Flathead Big Creek Big Creek NWIS 2019-04-03 0.770 BigCreekLower
6 Flathead Big Creek Big Creek NWIS 2019-04-04 0.853 BigCreekLower
# ℹ 3 more variables: yield_big <dbl>, yield_little_log <dbl>,
# yield_big_log <dbl>
View sample size (number of days) per site:
Code
datatable(dat_day_join %>%group_by(subbasin, site_name_little) %>%summarize(numdays =n()),caption ="Sample size (number of days) per site.")
dat_week_big <- dat_week %>%mutate(site_name = dplyr::recode(site_name, "Leidy Creek Mouth NWIS"="Leidy Creek Mouth", "SF Spread Creek Lower NWIS"="SF Spread Creek Lower", "Dugout Creek NWIS"="Dugout Creek", "Shields River ab Smith NWIS"="Shields River Valley Ranch")) %>%filter(site_name %in%c("Donner Blitzen River nr Frenchglen NWIS", "BigCreekLower", "CoalCreekLower", "McGeeCreekLower", "West Brook NWIS", "Paine Run 10", "Staunton River 10", "Spread Creek Dam", "Shields River Valley Ranch", "EF Duck Creek be HF"))dat_week_little <- dat_week %>%mutate(site_name = dplyr::recode(site_name, "Leidy Creek Mouth NWIS"="Leidy Creek Mouth", "SF Spread Creek Lower NWIS"="SF Spread Creek Lower", "Dugout Creek NWIS"="Dugout Creek", "Shields River ab Smith NWIS"="Shields River Valley Ranch")) %>%filter(subbasin %in% focalbasins, site_name %in%unlist(siteinfo2 %>%filter(designation =="little") %>%select(site_name)))
8.4.1.2 Zero flow proportion
How common is 0 flow and which sites experience drying?
Code
paste(round((nrow(dat_week %>%filter(Yield_filled_mm_weekly ==0)) /nrow(dat_week))*100, digits =3), "% of all weekly flow observations are 0 cfs/yield.", sep ="")
[1] "0.013% of all weekly flow observations are 0 cfs/yield."